<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class InformacionGeneral extends CI_Controller {

    private $establecimiento;

    public function __construct() {
        session_start();
        parent::__construct();
        $this->estaLogueado();
        $this->esAdministrador();
        $this->establecimiento = $_SESSION["establecimiento"]["id_establecimiento"];
        $this->load->model('_establecimientoM');
        $this->load->model('_paisM');
        $this->load->model('_documentoM');
        $this->load->model('_ciudad_colombiaM');
        $this->load->model('establecimientom');
    }

    public function index() {
        $data = array();
        $this->loadData($data);
        $this->load->view('header', $data);
        $this->load->view('informacionGeneralV');
        $this->load->view('footer');
    }

    private function loadData(&$data) {
        $data["tab"] = "informacionGeneral";
        $data['establecimiento'] = $this->_establecimientoM->get($this->establecimiento);
        $this->formatoFechaVista($data['establecimiento'][0]->inicio_operaciones);
        $data['paises'] = $this->_paisM->getAll();
        $data['ciudades'] = $this->_ciudad_colombiaM->getAll();
        $this->getMensaje($data['mensaje']);
        $data["logo"] = $this->establecimientom->obtenerDatos("logo", $this->establecimiento);
        // var_dump($data);
    }

    public function guardar() {

        if (!empty($_POST)) {
            $this->escapar($_POST);
            $this->formatoFechaBD($_POST['inicio_operaciones']); //cambiamos el formato de la fecha            
            //miramos si cambio la nacionalidad
            $establecimiento = $this->_establecimientoM->get($this->establecimiento);
            foreach ($establecimiento as $datos) {
                if ($datos->colombia != $_POST['colombia']) {
                    $this->_documentoM->deleteAll($this->establecimiento);
                    if ($_POST['colombia'] == 1) {
                        $_SESSION['establecimiento']['colombia'] = true;
                        $this->_documentoM->insertColombia($this->establecimiento);
                    } else {
                        $_SESSION['establecimiento']['colombia'] = false;
                    }
                }
            }
            $logo = $this->establecimientom->obtenerDatos("logo", $this->establecimiento);
            $ruta = "permanent/logos/" . $logo[0]->logo;
            if (isset($_POST["logo"])) {
                $_POST["logo"] = "";
            } else if (!empty($_FILES["file"])) {

                if ($logo[0]->logo != "" && file_exists($ruta)) {
                    $this->establecimientom->setLogo($this->establecimiento, "");
                    unlink($ruta);
                }
                $allowedExts = array("gif", "jpeg", "jpg", "png");
                $temp = explode(".", $_FILES["file"]["name"]);
                $extension = strtolower(end($temp));
                if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/pjpeg") || ($_FILES["file"]["type"] == "image/x-png") || ($_FILES["file"]["type"] == "image/png")) && ($_FILES["file"]["size"] < 1000000) && in_array($extension, $allowedExts)) {
                    if ($_FILES["file"]["error"] > 0) {
                        $this->mensaje("Error:" . $_FILES["file"]["error"] . ", inténtalo nuevamente", "advertencia", "informacionGeneral");
                    } else {
                        $nombre = $this->establecimiento . "." . $extension;
                        $this->establecimientom->setLogo($this->establecimiento, $nombre);
                        move_uploaded_file($_FILES["file"]["tmp_name"], "permanent/logos/$nombre");
                    }
                } else {
                    
                }
            }
        }
        $this->_establecimientoM->update($this->establecimiento, $_POST);
        $this->mensaje("Información guardada correctamente", "exito", "informacionGeneral");
    }

}
